Helpful Information
 
 
Category: Development Software
know any OS, "simple" php CMS that outputs/bakes static html?

hi,

can anyone suggest a "simple" open source php based content management system (CMS) that can also render aka "bake" static html (so that the viewers of the site are viewing static pages and not database-driven dynamic php pages)

purpose of the website:
The kind of website this CMS would manage/publish would be a small information/brochure-like site, small means maybe around 5 to 50 paged site (of a small community charity).

definition of "simple":
"simple" means there doesnt need to be a million cool features like polls, member lists, reviews, forums , modules like most CMSs I've seen which are geared toward massive communities of users. It's just a small, light info/brochure site, but it needs to be something that can be edited/regularly updated by a non-technical administrator-type person (thus, a CMS).

whats important to me:
- what i said already: open source, php based, and:
- this small CMS is actually able to "bake" or generate/save static html as the output which is what people viewing the site will see, they wont see dynamic php pages . A lot of kind folks replied to a post on laughingmeme.org ( http://laughingmeme.org/archives/000383.html ) but nobody actually suggested a php-based solution that could "bake" static html.
- data storage should be either simple writing to a text file ( or xml file, or html file etc) or mySQL, so that I dont have to install a whole new database system

whats not so important to me:
- information hiearchy : ideally this CMS would not be so simple that theres completely no hiearchy of content like Rodin (rodin.lot23.com). Ideally the site content is organized with some hiearchy. So there might also be breadcrumbs/hiearchy "where you are" indicator, automatic menu made to show/navigate this hiearchy (like CMSimple www.cmsimple.dk ). I could always code these features if its not ready-made.
- if the CMS has the option to FTP the baked static html files after they are rendered. This would be an amazing feature.


possible FAQs you may have to my question:

why php? :
- I'm more familiar with php so its more easy for me to customize it further if i need to or to troubleshoot when things dont work out. I found perl based solutions like WebMake http://webmake.sourceforge.net but I'm hoping to find a php-based solution.

why don't you use Rodin or CMSimple or (etc simple php CMSs mentioned)?
- they don't output/bake static html pages

Why don't you use these existing CMS and write php scripts to convert their output to static html ?
- yes, if I really can't find what I'm looking for ready-made, then I'll have to code it myself (and in the spirit of OS, I'll share it/contribute that back to the community when done), that'll be a last resort. I've already bookmarked some tutorials from phpfreaks.com and phpbuilder.com as well as some pages from here on devshed (http://forums.devshed.com/showthread.php?threadid=50829&highlight=php+cms+static+html).

So, I hope I get some ideas/suggestions....
TIA,
-r

Have you tried searching Hotscripts, Sourceforge, Google, etc?

Why is it so important that the user is reading an .html file, instead of a .php file? What benefit do you think you're getting from this?

drgroove- thanks for replying, at least now I know I'm looking in the right places!

essentially what happened was a ton of my google search results pointed to sourceforge projects so i didnt actually go to sourceforge and do a fresh search from there. On google I tried different combinations/arrangements of the terms : php, CMS, publish, bake, render, static html, etc. Majority of the results were great php CMSs, but disappointingly, after actually looking deeper, reading the features/specs, found one after another that they didnt actually publish/save static html output as I wanted, the word "static html" was just used coincidentally on the same page but talking about something else (like "our php CMS uses static html for templates"! ). Then there were results where there were people like me asking for something like this (and thats how I found the laughingmeme.org posting) . There were solutions that did output static html but were commercial $$ solutions. And then of course there were the plenty of tutorials on how to go about writing such a php > static html script yourself, but again thats a last resort thing if I really can't find a simple php CMS that has this feature ready-made.

now, doing a google site search of sourceforge
http://www.google.com/search?num=100&q=site%3Asourceforge.net+php+static+html
did show up some results I hadnt seen yet that might be promising so I;ll look into that (see, the top result is someone talking about wiki static html output, and its currently a half-developed thing he's trying to get done. but even if it were finished, a wiki site isnt quite what I need, what I need is more of just a simple brochure-like site rather than a communty-collaboration content system... unless I have to rip out all the collab features :) )

but I will keep looking, google and sourceforge alike.

Hotscripts - I'm glad you mentioned Hotscripts because that's not something that I remember coming up on google, and I think I know why now- must log in to read an article and thats probably if there were articles on what I wanted they probably weren't crawled by google.

a search on hotscripts:
http://www.hotscripts.com/cgi-bin/search.cgi?bool=AND&query=static+html&catid=all

brings up several results, like the tutorial-type result "Static HTML Generation With PHP and MySQL " which would something I'd visint as a last resort.
The "SparkPlug CMS " is an example of one of the many commercial solutions I saw that DO output static html , but are commercial $$$.
"php2Static " script seems the most promising so far, but again its not part of an existing CMS so I'll be doing some customizing work if I go with that, I'll look further into that

I guess the reason a php-CMS that also outputs static html seems so hard to find is because someone who develops a php based CMS , since they are making something for a php-enabled server they wouldnt normally think about also outputing static html.


Re: why do I want static .html output rather than php that users see:

I just see so many advantages, so many little things that could be solved if the end product is static html. In addition to this charity site, the ability to publish static html might be something I'll encounter later on anyway (maybe I have to develop sites later that are high traffic enough they actually need caching specifically in the form of static html ) so I thought its a good idea to play with this early on.

With the charity itself, its still not clear how this cash-strapped charity is going to get this hosted. Ideally they'll get a php-enabled server by the time I finish the site, then I just transfer it over and everything is good, no real need to output static html then. But what if they don't get a php-enabled server and can only get static, then by having a CMS that outputs static html they still have site they can show. And I wouldnt have wasted any time either because even though they cant access the CMS yet, on my end I would be benefiting by being able to update/manage their site faster/easier because of this CMS I set up while developing it locally.

Theres also the issue of portability, its very likely they will often need to have a copy of their site on hand they can put on disk, so having a CMS being able to generate a static html site makes that easier.


very tired now.. not sure if everything here makes sense but thanks anyway for responding and I appreciate anyone who can respond to this

It would be quite easy to modfy a package to do this.

Just use output buffers and ob_get_contents() to save the HTML file. You can then just have your links pointing directly to that html file and create cron job that runs every 5 minutes and calls script to remake HTML.

One variation on this is to have PHP script that checks when file was last modified and then calls function to recreate it and then includes it. If it is within 5 minutes of last created then it just includes it. That way you don't need cron job and all pages are only created when they are needed.

Robert,

Have you had any luck? I've been looking for the exact same solution, but I haven't come across anything at this point that meets my needs.

Some possible useful information:
http://www.stargeek.com/item/4494.html has an article entitled "Static HTML Generation With PHP" in which they mention MoveableType (http://www.moveabletype.org/)
Typo3 (http://www.typo3.com/) has a staging/static HTML-export capability

For a non-PHP system you could look at WebMake (Perl) see http://webmake.taint.org/

Cheers and good luck

Victor

-------
Aug 8, 2004

Robert - I too have been looking for just such a tool for two different charity organizations (truly static HTML pages, very very non-technical users can change only text and pictures, no chat functions and other "bells and whistles," etc.).

Please let me know what you have found.

(Incidentally, anyone else may also respond).

Ambassador
-------

-------
Aug 8, 2004

Robert - I too have been looking for just such a tool for two different charity organizations (truly static HTML pages, very very non-technical users can change only text and pictures, no chat functions and other "bells and whistles," etc.).

Please let me know what you have found.

(Incidentally, anyone else may also respond).

Ambassador
-------

You may have a look at "SPIP" http://www.spip.net/en, a very simple CMS with a good templating language, very convenient for corporate sites.

Default, SPIP does'nt publish static pages (because you loose some features I guess) but I know people did this with it, via slight changes ... (basically using the buffer in and buffer out, but beware, this could be more difficult than it sounds, thinking about links, update frequency, TTL ...)

I hope this will help,

Roland

phpCMS ,which can be found at http://www.phpcms.de does exactly what you are requesting for.

It doesn't need any SQL-Database as all content is held in plain text-files. When a user requests a page phpCMS reads the content, the templates and renders the page. The final page is cached in the file system as a static HTML-File so it can be delivered very fast on the next request.

phpCMS uses an quite intelligent caching system, so if you have dynamic parts in your webpages phpCMS caches only the static parts and on every request only the dynamical part of a page is created newly (for example an included forum, gallery, guestbook or whatever you have included).

As all files are held in the file system of cource anything can simply be accessed via FTP which makes also backups much easier then if the content is placed somewhere into a sql-db. You can even access the content-files directly via FTP with your favourite HTML-editor if it can open files via FTP connection.

And of course phpCMS provides features as a fulltext search (based on pregenerated indexes and therefore very fast), sitemaps, menus, breadcrumb-menus, a very flexible template and plugin system, the ability to simply plugin most existing php-scripts (so the CMS runs the script in background, grabs it output and pasts it as content into the wepage), an online-editor and much, much more.

greetings,
The phpCMS Team

-------
Aug 8, 2004

Robert - I too have been looking for just such a tool for two different charity organizations (truly static HTML pages, very very non-technical users can change only text and pictures, no chat functions and other "bells and whistles," etc.).

Please let me know what you have found.

(Incidentally, anyone else may also respond).

Ambassador
-------

Hello,

I work for a charity and had to develop just such an application, which while not officially open source (at this point I've been mangling it to suit my own purposes) I'm more than happy to both share the source code and whatever insights.

Essentially, I set up a MySql database which contained web page type data (file name/extension/body/title/template name) this data is then merged with the template (specificed in template_name) to generate a static page - the page generated can be PHP or HTML (or TXT or CSV). It's all a bit rough and ready but, as I say, you're more than welcome to it...

- PJ
(email: devshed -at- paul j holden -dot- com)

MORE DETAILS:

The template can include {variable_name} which replaces the variable name with whatever has been defined by the page, but it also includes conditions and you can define new variables on a page by page basis.

i looked into all cms mentioned above, but robert, could u please share ur findings ?

I realize the thread is over two years old, but I had to contribute and suggest XDBCMS as a potential solution. It outputs static HTML (much like Blogger.com) so you can host it on any type of web site.










privacy (GDPR)